widget-factory: Disconnect clipboard watcher on close
authorBenjamin Otte <otte@redhat.com>
Wed, 16 Dec 2015 14:43:05 +0000 (15:43 +0100)
committerBenjamin Otte <otte@redhat.com>
Wed, 16 Dec 2015 14:44:52 +0000 (15:44 +0100)
The clipboard emit events after the button we connected it to was
already destroyed (on application close for example), so make sure we
don't try to use that dead button.

demos/widget-factory/widget-factory.c

index ee2ae5ae00122e091d4cfb6d70ad9c0bc030e747..5947364ed05d53c103e54f70769db97e224e9c54 100644 (file)
@@ -1670,8 +1670,8 @@ activate (GApplication *app)
                     G_CALLBACK (textbuffer_notify_selection), widget);
   widget = (GtkWidget *)gtk_builder_get_object (builder, "pastebutton");
   g_signal_connect (widget, "clicked", G_CALLBACK (handle_cutcopypaste), widget2);
-  g_signal_connect (gtk_widget_get_clipboard (widget2, GDK_SELECTION_CLIPBOARD), "owner-change",
-                    G_CALLBACK (clipboard_owner_change), widget);
+  g_signal_connect_object (gtk_widget_get_clipboard (widget2, GDK_SELECTION_CLIPBOARD), "owner-change",
+                           G_CALLBACK (clipboard_owner_change), widget);
 
   widget = (GtkWidget *)gtk_builder_get_object (builder, "osd_frame");
   widget2 = (GtkWidget *)gtk_builder_get_object (builder, "totem_like_osd");